// 创建路由表


import { createRouter, createWebHashHistory, createWebHistory } from 'vue-router'

// import courseManagement from './moudles/courseManagement'
// import component from './moudles/component'
import { utilFuns } from './moudles/index'
//2创建路由表 =>根据路由信息找到组件 关系表

let routes = [
    {
        path: '/',
        meta: {
            token: false
        },
        component: () => import('../views/Login/ayindex.vue')
    },
    {
        path: '/layout',
        name: 'layout',
        redirect: '/layout/home',
        meta: {
            token: true
        }
        , component: () => import('../layout/index.vue'),
        children: [
            // 1 谁是父亲
            // 2 注意路径 =》拼接   /layout/home =>渲染关系 =》
            // 如果用户直接跳转到  /layout/home
            {
                path: 'home',
                meta: {
                    name: [{ name: '首页' }],
                    title: '首页',
                },
                // 路由懒加载 =》特点
                // 用户首次进入项目，不会加载 这个采用路由懒加载  的组件的代码，只有用户进入到这个
                //组件，才会加载这个组件代码
                // 本质=》 promise => 异步方法来进行处理 Message
                component: () => import('@/views/Home/index.vue')
            },
            {
                path: 'work',
                meta: {
                    name: [{ name: '工作台' }],
                    title: '工作台',
                },
                component: () => import('@/views/Work/index.vue')
            },

            {
                path: 'finance',
                meta: {
                    // 侧边导航具有嵌套 =》
                    name: [{ name: '财务' }],
                    title: '财务',
                },
                component: () => import('@/views/Finance/index.vue')
            },
            // 
            //20权限=》1权限=》10页面=>10路由信息
          
        ]
    },
    {
        path: '/:pathMatch(.*)*',
        component: () => import('@/views/NotFind/index.vue')
    }
]



//3创建路由实例对象 =》 底层代码 方法

const router = createRouter({
    // 4. 内部提供了 history 模式的实现。为了简单起见，我们在这里使用 hash 模式。
    history: createWebHistory(),
    routes, // `routes: routes` 的缩写
})


//动态的生成 路由 addRoute(路由信息对象)
//  router.addRoute({路由信息对}) =>添加给 routes =[] 第一层

// router.addRoute('名称'，{路由信息对}) =>添加给 routes =[] 第一层
// router.addRoute('layout',
//     {
//         path: 'message',
//         meta: {
//             // 侧边导航具有嵌套 =》
//             name: [{ name: '组件' }, { name: 'message' }],
//             title: 'message',
//         },
//         component: () => import('@/views/Message/index.vue')
//     },
// )


//3 =》每次只能添加一个
console.log(router);

export default router   //需要到 main.ts中进行注册 =》如果你不注册，在这个项目的 .vue文件

  //不用使用  import{useRouter,useRoute} from ‘vue-router 


